package com.itelite.service;

import java.util.List;

public interface RedisService {

    public boolean containsKey(String key);
    /**
     * 添加 key:string 缓存
     *
     * @param key    key
     * @param value    value
     * @param time time
     */
    boolean cacheValue(String key, Object value, long time);


    /**
     * 添加 key:string 缓存
     *
     * @param key   key
     * @param value value
     */
    boolean cacheValue(String key, Object value);










    /**
     * 根据 key 获取缓存value
     *
     * @param key key
     * @return value
     */
    Object getValue(String key);


    /**
     * 根据 key 移除 value 缓存
     *
     * @param key key
     * @return true/false
     */
    boolean removeValue(String key);




    /**
     * 根据 key 移除 list 缓存
     *
     * @param key key
     * @return true/false
     */
    boolean removeList(String key);

    /**
     * 缓存 list 集合
     * @param k key
     * @param v value
     * @param time 时间
     */
    boolean cacheList(String k, List<?> v, long time);

    public List<Object> getList(String k, long start, long end);

    /**
     *  缓存 list
     * @param k key
     * @param v value
     * @return true/false
     */
     boolean cacheList(String k, List<?> v);
    //获取时重置过期时间
    public List<Object> getList(String k, long start, long end,long cacheSecond);

    /**
     * 根据 key 移除 list 缓存
     * @param k key
     */
    boolean removeOneOfList(String k);

    void removeAllValue();
}

